package com.googlecode.publicholiday.repository;

import org.joda.time.LocalDate;

import java.util.Collection;

public interface ImmutablePublicHolidayRepository {

    /**
     * Find a single Public Holiday for a given Country
     * @param countryCode
     * @param publicHoliday
     * @return null if
     */
    LocalDate find(String countryCode, LocalDate publicHoliday);

    /**
     * Obtain all the Public Holidays for a given Country between two dates
     *
     * @param countryCode
     * @param startDate low endpoint (inclusive)
     * @param endDate high endpoint (exclusive)
     * @return an empty Collection if no public holidays can be found between the specified date range
     */
    Iterable<LocalDate> find(String countryCode, LocalDate startDate, LocalDate endDate);
}
